FROM elixir:1.15-alpine

# 安装系统依赖 (使用阿里云镜像源)
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk update && \
    apk add --no-cache \
    git \
    build-base \
    npm \
    nodejs \
    postgresql-client \
    inotify-tools

# 设置工作目录
WORKDIR /app

# 设置 Hex 和 Rebar 使用国内镜像
ENV HEX_MIRROR=https://hexpm.upyun.com
ENV HEX_CDN=https://hexpm.upyun.com

# 安装 Hex 和 Rebar
RUN mix local.hex --force && \
    mix local.rebar --force

# 安装 Phoenix
RUN mix archive.install hex phx_new --force

# 暴露端口
EXPOSE 4000

# 保持容器运行
CMD ["tail", "-f", "/dev/null"]
